#include "tree.h"


void Program(Node* node);
void ExtdefList(Node* node);
void Extdef(Node* node);
void ExtDecList(Node* node);
void Specifier(Node* node);
void StructSpecifier(Node* node);
void OptTag(Node* node);
void Tag(Node* node);
void VarDec(Node* node);
void FunDec(Node* node);
void VarList(Node* node);
void ParamDec(Node* node);
void CompSt(Node* node);
void StmtList(Node* node);
void Stmt(Node* node);
void DefList(Node* node);
void Def(Node* node);
void DecList(Node* node);
void Dec(Node* node);
void Exp(Node* node);
void Args(Node* node);

void addReadWriteSymbol();

void semanticAnalysis(Node* root, char* out);